|
This page last changed on Aug 21, 2015 by kgomes.
The goal of this work is to upgrade and migrate JIRA 3.12.1 from oceana.mbari.org to 6.X on bugs.mbari.org
Documentation
- Atlassian docs:
- Top level upgrade doc: https://confluence.atlassian.com/display/JIRA/Upgrading+JIRA
- Skipping Major versions: https://confluence.atlassian.com/display/JIRA/Skipping+Major+Versions+When+Upgrading+JIRA
- Migration from 3.12.1 -> 4.4: https://confluence.atlassian.com/display/JIRA044/Migrating+JIRA+to+Another+Server
- The JIRA configuration tool: https://confluence.atlassian.com/display/JIRA044/Using+the+JIRA+Configuration+Tool
Steps
Create new VM named bugs.mbari.org in the DMZ
Have Neil create database Jira_Temp on solstice2.shore.mbari.org
Have Neil create database Jira on solstice2.shore.mbari.org
Have Pat install Java 7 on bugs.shore.mbari.org
Have Pete plumb holes through firewall so processes on bugs.mbari.org can get to Solstice2
Have Pat create DB_Collaboration account on bugs so it can run JIRA under that account and it can connect to solstice2 using that NT Domain account.
Upgrade license on Atlassian site
Log into bugs.shore.mbari.org
Download 3.13.5 standalone Linux 64 bit tar.gz
Unzip and untar the file to /opt
Download 4.4.5 standalone Linux 64 bit tar.gz
Unzip and untar the file to /opt
Download 5.2.11 standalone Linux 64 bit tar.gz (not sure this version is necessary, but at least I have it)
Unzip and untar the file to /opt
Download latest JIRA (6.4.7 as of this writing).
Unzip and untar it to /opt
- Performed Test Upgrade
In order to export the current stuff in JIRA, I had to shut off access so people could not change the data while I was backing it up.
I ssh'd to oceana.mbari.org as root and edited the /opt/jira/conf/server.xml file and commented out the Connector section that had the port of 8010 to shut it off from the normal serving route.
I uncommented the 8082 port connector and the 8443 port connector so that I could still get to the server.
I stopped and started the JIRA server and in the log file I got a "keystore was tampered with..." which is not surprising.
I could then browser over to http://oceana.mbari.org:8082/jira
Then through the Administration console, I did an XML backup
I then created a tar of all the attachments in the /data/jira_3_12/attachments directory
I moved both the XML and tar files to the /root/jira-upgrade directory
I then reversed the changes to the server.xml file and shut down JIRA
I left it down during the next steps in case it went so well, I could just point people to the new server (yeah, right).
I then browsed to the crowd server on oceana and add a new application using:
- URL: http://bugs.mbari.org/jira3135
- IP: 134.89.2.29
- Name: JIRA3135
- Password: (ask Kevin)

On bugs, I made a copy of the JIRA 3.13.5 download in the /opt directory and unzipped and untarred it.
In order to configure the crowd connection I did the following:
I scp'd the /opt/crowd/client/crowd-integration-client-1.6.jar file from oceana to the /opt/atlassian-jira-standalone-3.13.5/atlassian-jira/WEB-INF/lib directory
I removed the existing 1.6.1 crowd client jar from the /opt/atlassian-jira-standalone-3.13.5/atlassian-jira/WEB-INF/lib directory
I scp'd the /opt/crowd/client/conf/crowd.properties file from oceana to the /opt/atlassian-jira-standalone-3.13.5/atlassian-jira/WEB-INF/classes directory
I scp'd the /opt/crowd/client/conf/crowd-ehcache.xml file from oceana to the /opt/atlassian-jira-standalone-3.13.5/atlassian-jira/WEB-INF/classes directory
I edited the crowd.properties file on bugs to look like:
I edited the /opt/atlassian-jira-standalone-3.13.5/atlassian-jira/WEB-INF/classes/osuser.xml file to comment out the current authentication mechanism and then uncomment the crowd one.
I then edited the /opt/atlassian-jira-standalone-3.13.5/conf/server/xml file and configured the database connection to the Jira_Temp database on Solstice2. I looked like this:
Edit the /opt/atlassian/jira-standalone-3.13.5/atlassian-jira/WEB-INF/classes/entityengine.xml and changed it from 'hsql' to 'mssql' and delete the line with "PUBLIC" in it per the instructions in the comments in that file.
I edited the /etc/httpd/conf/httpd.conf file and created a proxy pass at the bottom of the file to point a normal URL to the default port 8080 for JIRA:
I restarted Apache
I scp'd the jtds driver from oceana to the /opt/atlassian-jira-standalone-3.13.5/common/lib directory (you could down from the internet)
I then went to the /opt/atlassian-jira-standalone-3.13.5/ directory and ran './bin/startup.sh'. From the log file, I could tell things were hanging. After some troubleshooting I am wondering if the local firewall is preventing the application to get access to the database on solstice2. I can telnet to port 1433, but I can't browse to the base http://bugs.mbari.org from anywhere but the local web browser. I have submitted a ticket.
I restarted the old JIRA with my hopes dashed .
Pat disabled the firewall on bugs.mbari.org but it still hung trying to connect to solstice2.shore.mbari.org. That is really, really perplexing. Neil mentioned that solstice2 is using Kerberos and solstice is not. Checking with the JTDS docs, version 1.3.1 of the driver added kerberos support, so I downloaded that driver and added the 'userKerberos=true' property to the URL in the server.xml file and restarted. Got an error about no credentials, so added user and password properties to the URL. Nope, no luck. Never did figure this one out, but I had Pat pull the VM inside the firewall and after some thrash it worked. Well, it sort of worked ... sigh. It turns out I had downloaded the standard version instead of the enterprise version. I need to redo this work ... grrr.
I deleted all the tables in the Jira_Temp database and removed the /data/jira3135/indexes directory (and recreated).
I downloaded the enterprise version of the 3.13.5 server. I made a copy in the /opt directory and unzipped and untarred the file.
I went back to crowd and edited the application to change the properties to:
- URL: http://bugs.shore.mbari.org:8080
- IP: 134.89.12.31
- Name: jira3135
- Password: (ask Kevin)

I then repeated the steps above to get the server up and running with the following differences:
- The server name is now bugs.shore.mbari.org
- The paths given above are a little different in that they no longer say "standard" but say "enterprise"
- I deleted the proxy pass as it seemed to have issues before and this is only temporary anyway.
I then browsed to http://bugs.shore.mbari.org:8080
It took me to the start up page and at the top was the option to 'import your existing data'. Seemed too good not to try. I clicked on the link. It asked me for the backup file location and the location where the indexes would be stored.
I copied the XML zip file and the attachments tar file to the /data/original directory.
I created the /data/jira3135/indexes and used those directories ... it fired off the import and I waited.
I tailed the log file to watch the import. Holy crap, it worked!!! I could log in and everything! I copied the results from the log file here for posterity sake:
 | Paths
It appears that the upgraded JIRA will still look for the attachments and the backup locations in the original places. So I created /data/jira_3_12/backup and untarred the original attachments to /data/jira_3_12 and then everything worked (including attachements) in the new JIRA. |
I then used the upgraded JIRA to generate a new XML backup and stored it in /data/original/3.13.5 along with another tar of the files in /data/jira_3_12/attachments.
I then shutdown the JIRA server. I should be ready to move on to version 4 upgrade WHEW
- So, before moving on, I decided that it would be a really good idea to spin up a new Crowd instance to get rid of the :8443 in the URL and to move off of RedHat per IS requests. I have a ticket in for a new VM and a new database to try to get this going. I am waiting on that before moving on.
Pat created the VM and Neil created the database.
I logged into auth.mbari.org (name of the VM) and downloaded crowd which I unzipped to the /opt directory
I then created a /data/crowd directory and gave my account permissions on it and then edited the /opt/atlassian..../crowd-webapp/WEB-INF/classes/crowd-init.properties file to set that as the crowd home directory.
The instructions say to download the JDBC driver, but they already have JTDS 1.2.7 in the download so I did not do anything.
You have to manually connect up CrowdID to a database as they setup wizard does not currently do this.
They say to download the driver, but again 1.2.7 was there so I did nothing.
I edited the /opt/atlassian.../apache-tomcat/conf/Catalina/localhost/openidserver.xml to look like:
I edited the /opt/atlassian.../build.properties files to look like:
I then ran the build.sh script in the root of /opt/atlassian...
I fired up crowd using the /opt/atlassian.../start_crowd.sh script
I then went to http://auth.mbari.org:8095/crowd to kick off the start up wizard
I grabbed a new eval license from my account on atlassian and pasted into the license page.
I selected "New install" on the next page.
I configured the JDBC connection using this connection URL with user DB_Collaboration
I left the "Options" as they came up
 | Paths
Not sure if this is a problem, but because I started the set up using auth.mbari.org, it set the Base URL to http://auth.mbari.org:8095/crowd instead of localhost. Hope that is not a problem. We will see. |
I configured the email connection using the settings from here and I used my network login (probably shouldn't be doing that ... not sure where it stores my password, but I am assuming in the DB).
For the local admin account, I created a user named 'crowdadm' so it would not clash with my LDAP account. See Kevin Gomes for password information.
I checked the OpenID server as an integrated application
It then took me to the login page and I logged in using the newly minted admin account. Seemed all is well so far.
I visited the openidserver URL as well and that seemed OK.
I decided to wait on configuring the MBARI LDAP directory until I got everything with SSL working.
Now the next step was to follow the directions to configure Crowd to run over SSL found here
I shutdown crowd. Note that the stop script does not shutdown things correctly and I noticed the crowd app running as root. That should not be if I started as kgomes. Not sure what is up with that.
Now Joe had already configured SSL once, so I used his connector configuration in the server.xml file and so the final file looked like:
I then edited the /data/crowd/crowd.properties to look like:
One thing to note here is that based on a comment from the SSL configuration page at atlassian (Steve's comment), you are supposed to leave all the host names the same. For example, if the file says localhost, leave it localhost. So this created a bit of a problem based on the fact that I had left the base URL pointing to auth.mbari.org in the wizard steps above. That step wrote auth.mbari.org to the /data/crowd/crowd.properties. All the other files reference localhost, so to be consistent, I changed auth.mbari.org to localhost in the /data/crowd/crowd.properties file. We will see if this works.
Per the instructions on the atlassian page (referenced above), I also edited the build.properties file and the <Crowd-install>/client/conf/crowd.properties files before I restarted and used the SSL URLs
- build.properties:
- crowd.properties (client)
Although not stated, I am assuming you would need to run the build.sh script to push the build.properties changes to their proper places, so I did that. Note that before doing that, I know that it will clobber the server.xml changes I made, so I made a copy of that file and diff'd them after and then rolled the previous changes to the new server.xml file. Actually, amazingly enough, it seems to have done the connector entry correctly so I left it after running the build.sh script.
Crossed my fingers and then restarted crowd. I tailed the catalina.out file and did not see any stack traces so that is a good sign!
I visited https://auth.mbari.org:8443/crowd first. It could not find that page, but I suspect that is because I am browsing from the outside, so I tried just https://auth.mbari.org/crowd and got a service unavailable. I am suspecting that this is a combination of firewall and proxy pass and I will send this info to Joe. From what I can see on the crowd side, it seems like the server started cleanly, we just can't get to it. I tried to reach it from a browser on the machine itself too (through VNC) with the same service not available.
Here are the notes from Joe after he fixed it! Wooohooo!
Next I moved on to configuring the connection to MBARI's LDAP server to enable our logins through Crowd and CrowdID
I clicked on "Add Directory" in crowd.
I selected "Connector" then clicked Next
I put ldap.shore.mbari.org as the name of the server
I selected "Use memberOf for group memberships"
I used "OU=AllUsers,DC=shore,DC=mbari,DC=org" for the Base DN
I used "CN=LDAPbind,OU=Special,OU=AllUsers,DC=shore,DC=mbari,DC=org" for the Username (talk to Pat Allen for password)
I tested the connection (button click) and it passed.
I de-selected all the capabilities of the connector as it is a ready only connector and then saved it. It synchronized correctly!
At first, I could not login using my MBARI credentials, but after going to the "crowd" application in crowd (logged in as the local admin), I had to add the LDAP directory and configure it to "Allow all to authenticate", then I was able to login. After this, the last step was to get this to run as a different user and lock down various directories. I went through the entire directory structure /opt/atlassian... and set up so that root owned all read-only locations and DB_Collaboration (account set up by IS) owned the other stuff. I also gave full ownership to the /data/crowd directory to DB_Collaboration so it could write there. Pat set up a script to start on boot and after a little tweaking, it now starts on boot.
 | CrowdID log file
One thing that came up here was that when the crowdID application ran, it tried to write a log file to the location where the process was launched from (which is /opt/atlassian...). This is a bad thing and I figured out that I could change that location by changing the file /opt/atlassian-crowd-2.8.3/crowd-openidserver-webapp/WEB-INF/classes/log4j.properties and hardcoding the /data/crowd/logs/atlassian-crowd-openid-server.log and then restarted the application. |
Another note is the when an application tried to use the OpenID application, it would get redirected to localhost. I changed the /opt/atlassian.../crowd-openidserver-webapp/WEB-INF/classes/crowd.properties file to look like:
and that seems to have fixed it.
It is finally time to move on to the version 4 upgrade ... holy crap. I first went to the new crowd install (auth.mbari.org) and logged in as the crowdadm.
I clicked on Applications, then on Add Application
I selected JIRA from the Application type drop-down
I entered jira445 as the username. Ask Kevin about the password.
I used http://bugs.shore.mbari.org:8081 as the URL
I used 134.89.12.31 as the IP address.
I selected only the MBARI LDAP directory.
Then I selected "Allow all users to authenticate"
Then I clicked on "Add Application"
I VNC'd into bugs.mbari.org. As it turns out, for Linux, there is an installer program to download. I downloaded the .bin for 64 bit Linux installer and moved it to the jira-upgrade directory.
I chmod'd the file to make it executable and ran it. It gave me a warning about not being root, but I went ahead with it.
It asked for the JIRA home and data directory, which I specified as /opt/jira4 and /data/jira445.
For the ports, I specified 8180 and 8105 (HTTP and control respectively). It then extracted all the files and launched JIRA. It said if finished, so I opened a local browser to http://localhost:8180 which kicked off the start up wizard.
I specified the external database using:
- solstice2.shore.mbari.org (server)
- 1433 (port)
- jira4 (database)
- DB_Collaboration (username)
- (password ask Kevin)
- dbo (schema)
- But all this failed as it seems to just want to try and use the SQL server authentication instead of domain. I will have to do it manually.
I stopped the server using the bin/stop-jira.sh script.
I created and edited /data/jira445/dbconfig.xml and made it look like the following:
I then started it again using bin/start-jira.sh and tailed the catalina.out file. Got a bunch of errors related to the schema 'jiraschema', I edited the file and changed the schema to 'dbo' and restarted. That seemed to do it. There was one stack trace for some iCal plugin, but looks OK other than that.
- I browsed back to localhost:8180 and the wizard moved to step 2. There was an option to import existing data bit without the crowd connection, I thought I should set it up manually, connect to crowd, then import. I generated an evaluation license, called the app "MBARI JIRA4" and change the server in the url to bugs.shore.mbari.org
- For the admin, I created an account called 'jiraadm' (ask Kevin for password).
- Since this is a temporary system, I left the email system disabled.
- I logged in as jiraadm, went to Administration, then Users, then clicked on Add Directory and chose Atlassian Crowd. Note that I had to set the server URL to http://auth.mbari.org:8095/crowd or I would have had to configure all this SSL crap that I did not want to do for this temporary install.
- It tested successfully, I clicked Save and it went through a 13 second sync, whew!
- I then went to System->Import and Export->Restore System
- I copied the jira-upgrade-3.13.5.zip file from the previous version export into /data/jira445/import and then entered that file name along with the new evaluation license again.
- I worked through progress bar after I clicked on Restore (it took a really long time).
- I then stopped, restarted and tailed the log file.
- I am thinking now I should have put the attachments in the import attachments directory, but I am hoping I can just copy them to the data/attachments directory.
- UG! I got some error during the import. The exception read: "JIRA is unable to migrat the User Directory configuration because external users exist but the osuser.xml file is not available". It then gave me a link to a doc that talked about making the old user files available before the upgrade ... crap. So I needed to copy the osuser.xml and crowd.properties file from atlassian-jira/WEB-INF/classes directory on the old install to the same directory on the new install ... sigh. This means I am going to blow away everything and start over.
- I shutdown jira4
- I dropped all things in the database and deleted all content in the /data/jira445 directory (except for the dbconfig.xml file).
- I also removed the temp, logs (actually you have to leave the directory, just clear the files) and the work/Catalina/localhost directories from the jira installation.
- I then copied the osuser.xml and the crowd.properties files from the 3.13.5 install to the 4 install.
- I edited the crowd.properties file in hopes that I could point it to the new crowd install on auth.mbari.org and it would work, but we will see.
- I then started jira and tailed the log file.
- All looked OK (other than iCal plugin stack trace again), so I went to localhost:8180 and got step 2 of the wizard. I used the same info as before.
- I logged in as the local admin account and it looks like the system picked up the crowd connection, but lets see what server it used! Hey it used the one I edited into the file! Sweet ... now let's see if the import works.
- I copied the 3.13.5 zip file to the import directory again and this time, I untarred the attachments into the import/attachments directory.
- I kicked off the restore as before and it worked through it fine.
- Shutdown and restarted system, tailing the log file and then went to localhost:8180
- I can see issues (before logging in) and it all looks good!! The attachments did not move over from the import directory, so I copied the tar file from /data/jira445/import to /data/jira445/data and then untarred it there, then removed the tar file and the import zip file from the import directory.
- Now I will try to login using my MBARI account and OMG it actually worked!!! (it even gave my kgomes account Admin privs)
- I then performed an export and copied those file to the /data/backups/4.4.5 directory (also created a TAR of the attachments and put there too).
- Now on to version 5!
- OK, so something strange is happening. After the imports, the server ID goes back to the one that is on our current production server, which must mean it is using our current license key (which does not match the server ID, BTW). Oh well, I will press on!
- I created a /data/jira5211 directory as well as a /opt/jira5 directory. Knowing what I know now and reading through the install instructions, it appears that I need to create a dbconfig.xml file manually, so I did that using:
- I then changed the mode to executable on the installer download and ran that.
- I had to choose a "custom install" this time through, but the properties were similar after that (ports I used were 8280 and 8205)
- I then browsed to localhost:8280
- I dropped me to a wizard where I define the title as "MBARI JIRA5", and changed host to bugs.shore.mbari.org (from localhost)
- This license was a little different in that is just asked for my Atlassian username and password and fetched a new license for me.
- For the admin account, I used the same 'jiraadm' account
- Left email notification disabled.
- I created a new application in crowd for JIRA 5 and used same account info as for 4.
- In JIRA, I went to Administration->Users->User Directories and then added a directory as I had done before.
- All went well and the sync happened.
- I then went to Administration->System->Import and Export->Restore System
- I copied the backup of 4.4.5 to the /data/jira5211/import directory and then specified that file name. I did not specify a license as it seems to use the old one and it said so in the text below the box.
- Clicked on restore and while it was restoring, I untarred the attachments to the /data/jira5211/data directory
- After the restore, I shutdown and restarted JIRA tailing the log file.
- Browsed to localhost:8280 and ... success! I see issues before logging in and ... my MBARI login worked, I was admin and all is good!!!!
- As with previous version, I ran a backup of the DB and attachments and placed in /data/backups/5.2.11
- I poked around a little and there seems to be an issue in the comments that they are still referencing oceana??? I will have to look into this.
- I then re-did the process once again for version 6.4.9. I will only put notes about things that are dramatically different below:
- It looks like the dbconfig.xml file is the same as it is for version 5, so I just copied and edited to point to Jira6 DB.
- I used ports 8380 and 8305
 | Collation
The DB needs to be using a specific collation that it's not, I will have to correct that on the production run |
- It gave me a choice on "how I wanted to use JIRA" and I chose the default (top) one which was just JIRA.
- Something did not go well on the restore (got to 90%) from backup up and the server seems to have crashed, but it looks like it tried to restart?
- I forced a stop and start and tailed the log file. Could it be related to the collation issue? Upon restart it re-ran the indexing. Looks like it worked OK, let me login with my MBARI account.
- Interesting, the comments pointing to oceana seems to have fixed itself in the step of the upgrade.
- Another interesting note, when I went to the Admin->System->General configuration, it had the base URL as oceana, that would explain it. So I edited that to bugs.shore.mbari.org (it also made me change the Mode to private, which makes sense since authentication is external).
- I went back to the 3, 4, and 5 install and changed the base URL there too. That fixed that issue.
- I then sent an email to all hands giving the URLs for folks to look at.
- While folks were looking over the upgrade instances, I went ahead and created the cloud instance at Atlassian so I could test upload the JIRA backup from 6.4.9
 | Disable Remote Crowd Directory
As a part of the test import, I discovered that you have to disable the remote crowd directory through User Management->User Directories before you do the backup/export. |
- You basically do a backup of the system, tar up the attachments and then push those files to the cloud instance through WebDAV. Then you choose those files to do a 'JIRA Import'. The attachments did not work and I had to leave those de-selected and then submitted a ticket for that to be done.
- It did seem to import all the users from our LDAP system, so I had to go through and 'Deactivate' all the users that I did not think would login. The billing adjusts fine to that, so that seems tractable. I am still working on seeing how users login to their imported accounts and if you can link BitBucket accounts to JIRA.
The Production (Final) Migration
The day is finally here, the production JIRA migration. Here are the steps I took:
- Logged into oceana as root
- Edited the /opt/jira/conf/server.xml and commented out the Connector section that had the port of 8010 to shut it off from the normal serving route
- I uncommented the 8082 port connector and the 8443 port connector so that I could still get to the server.
- I stopped and started the JIRA server and in the log file I got a "keystore was tampered with..." which is not surprising.
- I could then browser over to http://oceana.mbari.org:8082/jira
- Then through the Administration console, I did an XML backup (file named final-jira-migration-backup-2015-08-21) and selected the zip option
- I had to create a /tmp/jira-backup directory and give DB_Collaboration:coladm ownership for the backup to happen ... sigh
- I created the directory /root/jira-upgrade/final-2015-08-21 and moved the backup from /tmp/jira-backup to that location
- I then shut down JIRA (hopefully for the LAST time!!!)
- I logged out of oceana
- I logged into bugs.shore.mbari.org as me
- Due to a patch and reboot, all the JIRA servers were down, which was fine.
- I cd'd to /opt/atlassian-jira-enterprise-3.13.5-standalone
- I wanted to clean things up so I cd'd to logs and removed all the log files
- I then wanted to remove the deployed web application so I could start clean so I changed to ../work and deleted the entire Catalina directory
- Using Aqua Data Studio, I deleted all the tables in the Jira_Temp database on solstice2
- Back on bugs, I scp'd the backup zip file and the attachments file to the /data/backups/3.12/final-upgrade-2015-08-21 directory
- I cd'd to the /data/jira3135 directory and deleted the attachments and indexes directories and then created empty directories for those again.
- Since the first import will look for attachments in /data/jira_3_12, I cd'd to that directory and deleted the attachments directory there.
- I then copied the attachments tar I scp'd over and untarred it in that location.
- I then started up JIRA (version 3.13.5) using /opt/atlassian-jira-enterprise-3.13.5-standalone/bin/startup.sh
- I tailed the log file and it looked like a clean startup.
- I browsed over to http://bugs.shore.mbari.org:8080 and got the start up page.
- I clicked on the "Import existing data" link and specified the /data/backups/3.12/final-upgrade-2015-08-21/final-jira-migration-backup-2015-08-21.zip as the backup file and /data/jira3135/indexes as the index location
- I tailed the log file during the import process and everything looked great ... YEEEEEEEEEEESSSSSSSSSSSSSS!!!!!!
- OK, so far so good. Attachments were there and everything.
- I then went to the administration panel and performed another backup to XML using the file nanme final-jira-migration-3135-backup-2015-08-21 and selected the zip option.
- It created the zip file in the JIRA tomcat bin directory! So I moved it to /data/backups/3.13.15/final-upgrade-2015-08-21
- I created a tar of the attachments (which was in the /data/jira_3_12 directory) and moved it to /data/backups/3.13.15/final-upgrade-2015-08-21 also
- I then shutdown the 3.13.5 JIRA instance for the LAST (hopefully) time!!
- I fired up Aqua Data Studio again and deleted all the stuff in the Jira4 database on solstice 2
- I then cd'd to /opt/jira4/logs and cleaned out any log files
- I cd'd to /opt/jira4/work and removed the .pid file and the Catalina directory
- I cd'd to the /opt/jira4 directory and removed the temp directory too.
- I then cd'd to the /data/jira445 directory and removed everything but the dbconfig.xml file
- I then started JIRA 4 and tailed the log file
- It created all the tables in the DB as well as all the directories fine.
- I copied the /data/backups/3.13.5/final-upgrade-2015-08-21/final-jira-migration-3135-backup-2015-08-21.zip to the /data/jira445/import directory
- I copied the /data/backups/3.13.5/final-upgrade-2015-08-21/final-jira-migration-3135-attachments.tar to the /data/jira445/data directory
- I untarred it there and it put all the attachments in the attachments directory.
- I then removed the tar file.
- I then went to the http://bugs.shore.mbari.org:8180 url in my browser
- I clicked on the "Import your existing data" link
- I entered /data/jira445/import/final-jira-migration-3135-backup-2015-08-21.zip in the File name box and then clicked import.
- It bounced back because of eval license was needed, so I clicked on the generate eval license and agreed to the terms, Yes to install license and then clicked import.
- I tailed the log file and everything worked!!!! Attachments too!!!!
- I logged in and went to the admin panel.
- I went to the Import and Export and clicked on Backup System tab on the left.
- I entered the file name final-migration-445-2015-08-21 and clicked Backup
- This created the backup located here: /data/jira445/export/final-migration-445-2015-08-21.zip
- I then shutdown the JIRA4 for the (hopefully) LAST TIME!!!!
- I created the /data/backups/4.4.5/final-upgrade-2015-08-21 directory
- I then moved the /data/jira445/export/final-migration-445-2015-08-21.zip to the /data/backups/4.4.5/final-upgrade-2015-08-21 directory
- I cd'd to the /data/jira445/data directory and tarred up the attachements directory to the final-migration-445-attachments-2015-08-21.tar file
- I then moved that file to the /data/backups/4.4.5/final-upgrade-2015-08-21 directory
- I cd'd to the /opt/jira5/logs directory and removed all the log files
- I cd'd to the /opt/jira5/work directory and removed the Catalina directory and the pid file
- I cd'd to the /data/jira5211 directory and I removed all the directories except for the dbconfig.xml file
- I used Aqua data studio to delete all the tables in the Jira5 database (this took a couple of rounds of delete due to key constraints)
- I then started JIRA 5 using /opt/jira5/bin/start-jira.sh and the DB tables and /data/jira5211 directories were all created OK
- I copied the /data/backups/4.4.5/final-upgrade-2015-08-21/final-migration-445-attachments-2015-08-21.tar to the /data/jira5211/data directory
- I then untarred the file there which put all the attachments in the attachments folder.
- I then copied the /data/backups/4.5.5/final-upgrade-2015-08-21/final-migration-445-2015-08-21.zip to the /data/jira5211/import directory
- I tailed the /opt/jira5/log/catalina.out file and opened http://bugs.shore.mbari.org:8280 in my browser
- I clicked on the "import data" link
- I put /data/jira5211/import/final-migration-445-2015-08-21.zip in the file name field and then clicked on Generate an evaluation key
- I filled out everything and it put the license key in and then I clicked on "import"
- Everything seemed to go smoothly, so I logged in and then created a backup by going to Administration->System->Import and Export.
- I input the file name final-upgrade-5211-2015-08-21 which created the /data/jira5211/export/final-upgrade-5211-2015-08-21.zip file
- I shutdown JIRA 5 for (hopefully!) the LAST TIME !!!
- I tarred up that /data/jira5211/data/attachments directory and moved it to /data/backups/5.2.11/final-upgrade-5211-2015-08-21/final-upgrade-5211-attachments-2015-08-21.tar
- I moved the backup that was in the /data/jira5211/export directory to the /data/backups/5.2.11/final-upgrade-5211-2015-08-21 directory
- Using Aqua data studio, I deleted everything in the Jira6 database (took a couple rounds due to keys)
- I cd'd to /opt/jira6/logs and removed all the log files
- I cd'd to /opt/jira6/work and deleted everything there
- I cd'd to /data/jira649 and removed everything but the dbconfig.xml file
- I then cd'd to /opt/jira6/bin and started jira using jira-start.sh
- I tailed to log file to make sure it all started up OK.
- After successful start up, I copied the /data/backups/5.2.11/final-upgrade-5211-2015-08-21/final-upgrade-5211-2015-08-21.zip file to the /data/jira649/import directory
- I copied the /data/backups/5.2.11/final-upgrade-5211-2015-08-21/final-upgrade-5211-attachments-2015-08-21.tar to the /data/jira649/data directory and untarred it which put all the attachments in the attachments directory.
- I then went to http://bugs.shore.mbari.org:8380 to kick off the set up
- I tailed the log file in the terminal to make sure all was OK
- I clicked on "import your data" link
- I put /data/jira649/import/final-upgrade-5211-2015-08-21.zip in the file name box and clicked on Generate evaluation license, followed the instructions and then clicked on Import
- Everything seems to have worked (including attachments)!!!
- I went to User Management->User Directories and I moved the JIRA internal directory up in the order of directories and disabled the Remote Crowd Directory
- I then did an export using System->Backup System and used the file name final-upgrade-6211-2015-08-21
- I then shutdown the JIRA 6 for (hopefully!!!) the LAST TIME !!!!
- I cd'd to the /data/jira629/data directory and created the final-upgrade-629-attachments-2015-08-21.tar file of the attachments directory
- I cd'd to the /data/backup/6.4.9/ directory and created the final-upgrade-649-2015-08-21 directory.
- I cd'd to that directory and moved the backup file and the attachment tar to that directory.
- I then opened a terminal on my local machine and SCP'd those backup files locally.
- I then mounted the WebDAV directory on my local machine using finder an connecting using https://mbari1.atlassian.net/webdav/
- I then copied the backup files I scp'd to may local machine to the remote WebDAV directory.
- I logged in to our cloud system and went to Administration->System
- I clicked on JIRA Import on the left hand side
- I only selected the XML backup zip to import as Atlassian has to do the attachments.
- I gave me the option of updating URLs that were in issues, I selected the ones point to oceana and continued.
- It warned me that everything would be replaced. I left the email enabled and continued.
- It looks like it did a purge first, then the import.
- It failed and I updated my support ticket to have them look at it
- They uploaded and re-indexed and it wiped out all accounts, so I logged in as admin/admin and it put me through a setup routine
- I changed that admin password, but it looks like it is a limited 'admin'. I am wondering if the account needs to have site admin because I can't get into any of the user management stuff.
- That was it, Atlassian made the admin account a part of the site-admins group and I am golden.
- I went through and de-activately almost all the accounts except for the ones I knew about and reset all their password to a default that I will email them directly so they can login and change it.
- I added the MBARI Logo
- I enabled Gravatar images
WHEW, TIME FOR A BEER!
|